package com.ruoyi.performance.service;

import com.ruoyi.performance.domain.PerfLevelTemplate;
import com.ruoyi.performance.domain.PerfMitemDitem;
import com.ruoyi.performance.domain.PerfTemplateDitem;
import com.ruoyi.performance.dto.PerfTemplateDitemDto;

import java.util.List;
import java.util.Map;

/**
 *
 * 
 * @author YL
 * @date 2020-07-22
 * @description 绩效模板细项Service接口
 */

public interface PerfTemplateDitemService {
    /**
     * 查询绩效模板细项
     *
     * @param id 绩效模板细项ID
     * @return 绩效模板细项
     */
    PerfTemplateDitemDto selectPerfTemplateDitemById(int id);

    /**
     * 查询绩效模板细项
     *
     * @param companyCode 公司代码
     * @return 绩效模板细项
     */
    List<PerfTemplateDitemDto> selectPerfTemplateDitemByCompanyCode(String companyCode);

    /**
     * 查询绩效模板细项列表
     *
     * @param perfTemplateDitemDto 绩效模板细项
     * @return 绩效模板细项集合
     */
    List<PerfTemplateDitemDto> selectPerfTemplateDitemList(PerfTemplateDitemDto perfTemplateDitemDto);

    /**
     * 新增绩效模板细项
     *
     * @param perfTemplateDitem 绩效模板细项
     * @return 结果
     */
    int insertPerfTemplateDitem(PerfTemplateDitem perfTemplateDitem);

    /**
     * 修改绩效模板细项
     *
     * @param perfTemplateDitem 绩效模板细项
     * @return 结果
     */
    String updatePerfTemplateDitem(Map<String, List<PerfTemplateDitem>> datas);

    /**
     * 删除绩效模板细项
     *
     * @param id 绩效模板细项ID
     * @return 结果
     */
    String deletePerfTemplateDitemById(String ids);

    /**
     * 添加绩效主项与细项关联
     *
     * @param perfMitemDitem 关联参数
     * @return 结果
     */
    int insertPerfMitemDitem(PerfMitemDitem perfMitemDitem);

    /**
     * 删除绩效主项与细项关联
     * @param perfMitemDitem 关联对象
     * @return 结果
     */
    public String deletePerfMitemDitem(Map<String, List<PerfMitemDitem>> datas);

}
